export default (nextCmpName) => ({
  // Home 等 或 Detail 进来
  // Home 进来时此组件不具备缓存，缓存表永远是 ['Home']，因为离开时，除了去 Detail，当前组件缓存都会被干掉
  // 所以其他页面进来都会重新初始化，唯有 Detail 进来具备缓存，即返回的时候具备缓存
  beforeRouteEnter(to, from, next) {
    next((vm) => {
      vm.$store.commit('addPage', vm.$options.name)
    })
  },
  // 离开去 Home 等 或 Detail
  beforeRouteLeave(to, from, next) {
    // 下一个要去的路由名字
    if (!nextCmpName.includes(to.name)) {
      this.$store.commit('rmPage', this.$options.name)
    }
    next()
  },
  /* beforeRouteEnter(to, from, next) {
      next((vm) => {
        // 如果进入之前删除 'List'
        // Home => List => 不具备缓存 => √
        // Detail => list => 不具备缓存（期望具备） => ×
        vm.$store.commit('rmPage', vm.$options.name)
      })
    }, */
})
